/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.servlet.niceshot;

import br.com.niceshot.PresetQueries;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedHashMap;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name = "EquipamentoServlet", urlPatterns = {"/EquipamentoServlet"})
public class EquipamentoServlet extends HttpServlet {

    PresetQueries pQueries = new PresetQueries();

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("application/json");

        processRequest(request, response);

        try (PrintWriter out = response.getWriter()) {

            String idEquipamento = request.getParameter("id");
            String acao = request.getParameter("acao");
            if (acao.equals("remover")) {
                out.println(removeEquipamento(idEquipamento));
            } else {
                out.println(editEquipamento(idEquipamento));
            }

        }
    }

    private String editEquipamento(String idEquipamento) {

        String JsonEquipamentos = pQueries.HashMapToJson("Equipamento", pQueries.SelectByID(idEquipamento, "Equipamento"));
        String dataJson = "{" + JsonEquipamentos + "}";

        return dataJson;
    }

    private String removeEquipamento(String idEquipamento) {
        return pQueries.RemoveData("equipamento", "id_equipamento", idEquipamento);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
        try (PrintWriter out = response.getWriter()) {

            String idEquipamento = request.getParameter("id_equipamento");
            String nmEquipamento = request.getParameter("nm_equipamento");
            String qtEquipamento = request.getParameter("qt_equipamento");
            String vlMunicao = request.getParameter("vl_municao");
                   
            vlMunicao = vlMunicao.replace(".", "");
            vlMunicao = vlMunicao.replace(",", ".");
     

            LinkedHashMap<String, String> dataEquipamento = new LinkedHashMap<String, String>();

            if (idEquipamento.length() < 1) {
                dataEquipamento.put("id_equipamento", null);
            } else {
                dataEquipamento.put("id_equipamento", idEquipamento);
            }

            dataEquipamento.put("nm_equipamento", "'" + nmEquipamento + "'");
            dataEquipamento.put("qt_equipamento", qtEquipamento);
            dataEquipamento.put("vl_municao", vlMunicao);

            out.println(insertEquipamento(idEquipamento, dataEquipamento));
        }
    }

    private String insertEquipamento(String idEquipamento, LinkedHashMap<String, String> dataEquipamento) {
        if (idEquipamento.length() < 1) {
            return pQueries.InsertData("equipamento", dataEquipamento);
        } else {
            return pQueries.UpdateData("equipamento", dataEquipamento);
        }
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "EquipamentoServlet";
    }// </editor-fold>

}
